.project-edit-container.prepend-top-default
  .project-edit-errors
  .project-edit-content
    .panel.panel-default
      .panel-heading
        项目设置
      .panel-body
        = form_for [@project.namespace.becomes(Namespace), @project], remote: true, html: { multipart: true, class: "edit_project form-horizontal fieldset-form" }, authenticity_token: true do |f|

          %fieldset
            .form-group.project_name_holder
              = f.label :name, class: 'control-label' do
                项目名称
              .col-sm-10
                = f.text_field :name, class: "form-control", id: "project_name_edit"


            .form-group
              = f.label :description, class: 'control-label' do
                项目描述
                %span.light (可选)
              .col-sm-10
                = f.text_area :description, class: "form-control", rows: 3, maxlength: 250

            - unless @project.empty_repo?
              .form-group
                = f.label :default_branch, "默认分支", class: 'control-label'
                .col-sm-10= f.select(:default_branch, @project.repository.branch_names, {}, {class: 'select2 select-wide'})


          = render 'shared/visibility_level', f: f, visibility_level: @project.visibility_level, can_change_visibility_level: can_change_visibility_level?(@project, current_user), form_model: @project

          .form-group
            = f.label :tag_list, "标签", class: 'control-label'
            .col-sm-10
              = f.text_field :tag_list, value: @project.tag_list.to_s, maxlength: 2000, class: "form-control"
              %p.help-block 使用英文逗号分割。

          %fieldset.features
            %legend
              功能：
            .form-group
              .col-sm-offset-2.col-sm-10
                .checkbox
                  = f.label :issues_enabled do
                    = f.check_box :issues_enabled
                    %strong 问题
                    %br
                    %span.descr 轻量级问题跟踪系统

            .form-group
              .col-sm-offset-2.col-sm-10
                .checkbox
                  = f.label :merge_requests_enabled do
                    = f.check_box :merge_requests_enabled
                    %strong 合并请求
                    %br
                    %span.descr 合并上游修改

            .form-group
              .col-sm-offset-2.col-sm-10
                .checkbox
                  = f.label :builds_enabled do
                    = f.check_box :builds_enabled
                    %strong 构建
                    %br
                    %span.descr 合并前测试和部署变更

            .form-group
              .col-sm-offset-2.col-sm-10
                .checkbox
                  = f.label :wiki_enabled do
                    = f.check_box :wiki_enabled
                    %strong 维基
                    %br
                    %span.descr 项目文档页面

            .form-group
              .col-sm-offset-2.col-sm-10
                .checkbox
                  = f.label :snippets_enabled do
                    = f.check_box :snippets_enabled
                    %strong 代码片段
                    %br
                    %span.descr 共享 git 版本仓库外的代码

            - if Gitlab.config.registry.enabled
              .form-group
                .col-sm-offset-2.col-sm-10
                  .checkbox
                    = f.label :container_registry_enabled do
                      = f.check_box :container_registry_enabled
                      %strong 容器注册表
                      %br
                      %span.descr 开启此仓库的容器注册表

          = render 'builds_settings', f: f

          %fieldset.features
            %legend
              项目头像：
            .form-group
              .col-sm-offset-2.col-sm-10
                - if @project.avatar?
                  = project_icon("#{@project.namespace.to_param}/#{@project.to_param}", alt: '', class: 'avatar project-avatar s160')
                %p.light
                  - if @project.avatar_in_git
                    项目头像保存在版本仓库：#{ @project.avatar_in_git }
                %p.light
                  - if @project.avatar?
                    在这里可以修改项目头像
                  - else
                    在这里可以上传项目头像
                %a.choose-btn.btn.btn-sm.js-choose-project-avatar-button
                  %i.icon-paper-clip
                  %span 选择文件...
                &nbsp;
                %span.file_name.js-avatar-filename 文件名...
                = f.file_field :avatar, class: "js-project-avatar-input hidden"
                .light 文件大小限制为 200KB。
                - if @project.avatar?
                  %hr
                  = link_to '删除头像', namespace_project_avatar_path(@project.namespace, @project), data: { confirm: "确定要删除项目头像么？"}, method: :delete, class: "btn btn-remove btn-sm remove-avatar"


          .form-actions
            = f.submit '保存修改', class: "btn btn-save"



    .danger-settings
      .panel.panel-default
        .panel-heading 维护
        .errors-holder
        .panel-body
          %p
            执行当前仓库的一些维护任务，诸如压缩文件修订版本和删除无用对象等。
            %br

          .form-actions
            = link_to '维护', housekeeping_namespace_project_path(@project.namespace, @project),
                method: :post, class: "btn btn-default"

      - if can? current_user, :archive_project, @project
        - if @project.archived?
          .panel.panel-success
            .panel-heading
              解档项目
            .panel-body
              %p
                解档项目将恢复项目版本仓库可修改。
                %br
                项目可以被提交。
                %br
                %strong 解档后该项目可以被搜索到并显示在仪表盘中。

              .form-actions
                = link_to '解档项目', unarchive_namespace_project_path(@project.namespace, @project),
                    data: { confirm: "确定要解档本项目么？\n解档项目后可以重新提交版本仓库修改。" },
                    method: :post, class: "btn btn-success"
        - else
          .panel.panel-warning
            .panel-heading
              归档项目
            .panel-body
              %p
                归档项目将标识其版本仓库为只读。
                %br
                同时将在仪表盘隐藏并且不能搜索到。
                %br
                %strong 已归档的项目不能被提交！

              .form-actions
                = link_to '归档项目', archive_namespace_project_path(@project.namespace, @project),
                    data: { confirm: "确定要归档本项目么？\n已归档的项目不能被提交。" },
                    method: :post, class: "btn btn-warning"
      - else
        .nothing-here-block 只有项目所有者才能归档项目

      .panel.panel-default.panel.panel-warning
        .panel-heading 重命名仓库
        .errors-holder
        .panel-body
          = form_for([@project.namespace.becomes(Namespace), @project], html: { class: 'form-horizontal' }) do |f|
            .form-group.project_name_holder
              = f.label :name, class: 'control-label' do
                项目名称
              .col-sm-9
                .form-group
                  = f.text_field :name, class: "form-control"
            .form-group
              = f.label :path, class: 'control-label' do
                %span 路径
              .col-sm-9
                .form-group
                  .input-group
                    .input-group-addon
                      #{URI.join(root_url, @project.namespace.path)}/
                    = f.text_field :path, class: 'form-control'
                %ul
                  %li 请小心。重命名项目仓库可能有意想不到的副作用。
                  %li 需要更新本地版本仓库指向新位置。
            .form-actions
              = f.submit '重命名项目', class: "btn btn-warning"

      - if can?(current_user, :change_namespace, @project)
        .panel.panel-default.panel.panel-danger
          .panel-heading 转移项目
          .errors-holder
          .panel-body
            = form_for([@project.namespace.becomes(Namespace), @project], url: transfer_namespace_project_path(@project.namespace, @project), method: :put, remote: true, html: { class: 'transfer-project form-horizontal' }) do |f|
              .form-group
                = label_tag :new_namespace_id, nil, class: 'control-label' do
                  %span 命名空间
                .col-sm-9
                  .form-group
                    = select_tag :new_namespace_id, namespaces_options(@project.namespace_id), { prompt: '选择项目命名空间', class: 'select2' }
                  %ul
                    %li 请注意：更改项目的命名空间可能有意想不到的副作用。
                    %li 只能将项目转移到能管理到的命名空间。
                    %li 需要更新本地版本仓库指向新位置。
                    %li 项目转移到群组时其可见度等级将自动匹配新的命名空间规则。
              .form-actions
                = f.submit '转移项目', class: "btn btn-remove js-confirm-danger", data: { "confirm-danger-message" => transfer_project_message(@project) }
      - else
        .nothing-here-block 只有项目所有者才能转移项目

      - if @project.forked?
        - if can?(current_user, :remove_fork_project, @project)
          = form_for([@project.namespace.becomes(Namespace), @project], url: remove_fork_namespace_project_path(@project.namespace, @project), method: :delete, remote: true, html: { class: 'transfer-project form-horizontal' }) do |f|
            .panel.panel-default.panel.panel-danger
              .panel-heading 删除派生关系
              .panel-body
                %p
                  将删除从源项目
                  #{link_to @project.forked_from_project.name_with_namespace, project_path(@project.forked_from_project)} 的派生关系。
                  %br
                  %strong 一旦删除，派生关系无法恢复；也将无法在提交合并请求到源项目。
                .form-actions
                  = button_to '删除派生关系', '#', class: "btn btn-remove js-confirm-danger", data: { "confirm-danger-message" => remove_fork_project_message(@project) }
        - else
          .nothing-here-block 只有项目所有者才能删除派生关系。

      - if can?(current_user, :remove_project, @project)
        .panel.panel-default.panel.panel-danger
          .panel-heading 删除项目
          .panel-body
            = form_tag(namespace_project_path(@project.namespace, @project), method: :delete, class: 'form-horizontal') do
              %p
                删除项目将删除其版本仓库及所有相关资源，包括问题，合并请求等。
                %br
                %strong 删除项目无法恢复！
              .form-actions
                = button_to '删除项目', '#', class: "btn btn-remove js-confirm-danger", data: { "confirm-danger-message" => remove_project_message(@project) }
      - else
        .nothing-here-block 只有项目所有者才能删除项目。


.save-project-loader.hide
  .center
    %h2
      %i.fa.fa-spinner.fa-spin
      正在保存项目。
    %p 请稍等片刻，页面会在准备好后自动刷新。


= render 'shared/confirm_modal', phrase: @project.path
